package Apresentation;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;

import Domain.Catalog;
import Domain.Product;
import Exception.DadosException;
import Integration.Integration;
import Integration.IntegrationImpl;
import javax.faces.convert.FacesConverter;

@ManagedBean
@ViewScoped
public class NovoProduto {

	
	private Product produto;
	
	private Catalog catalog;
	
	private int id_cat;

	private List<Catalog> listacatalogos;
	
	Integration it;
	public NovoProduto() {
		super();
		listacatalogos = new ArrayList<Catalog>();
		produto = new Product();
		catalog = new Catalog();
		it = new IntegrationImpl();
	}
	
	
	public String salvarProduto(){
		
		Integration it = new IntegrationImpl();		
		
		System.out.println(id_cat);
		try {
			catalog = it.pesquisarCatalogoPorID(id_cat);
			System.out.println(catalog.toString());
			produto.setCatalog(catalog);
			it.salvarProduto(produto);
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Produto Salvo com sucesso",""));
			
			produto.setColor("");
			produto.setDescription("");
			produto.setManufacture("");
			produto.setName("");
			produto.setPicture("");
			produto.setPrice(null);
			produto.setSize("");
			return null; 
		} catch (DadosException e) {			
			e.printStackTrace();
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,e.getMessage(),""));  
			System.out.println(e.getMessage());
			}
		
		return null;
	}
	

	public List<Catalog> getListacatalogos() {
		List<Catalog> cat = new ArrayList<Catalog>();
		
		return it.listaCatalogos(); 		
	}


	public void setListacatalogos(List<Catalog> listacatalogos) {
		this.listacatalogos = listacatalogos;
	}


	public Product getProduto() {
		return produto;
	}

	public void setProduto(Product produto) {
		this.produto = produto;
	}


	public Catalog getCatalog() {
		return catalog;
	}


	public void setCatalog(Catalog catalog) {
		this.catalog = catalog;
	}


	public int getId_cat() {
		return id_cat;
	}


	public void setId_cat(int id_cat) {
		this.id_cat = id_cat;
	}


	
	
	
	
}
